#ifndef DESTROYER_H_
#define DESTROYER_H_

#include "RectangularBoatShape.h"
#include "DestroyerConfiguration.h"
#include "Boat.h"
#include "OverlapBoat.h"
#include "TooNearBoat.h"
#include "OutOfBound.h"

class Destroyer: public Boat {
public:
	Destroyer(const string&, const Point<int>&, const DestroyerConfiguration*, char);
	virtual ~Destroyer();
	
	virtual bool fireToBoat(const Point<int>&, Arena*);
	virtual bool isDestroyed();
	virtual void write(Arena*) throw (OutOfBound, OverlapBoat, TooNearBoat);
	
private:
	RectangularBoatShape *body;
	int firedPoints;
};

#endif
